package com.beiming.libra.service;

import java.util.List;

import com.beiming.libra.common.page.PageResult;
import com.beiming.libra.domain.ArbUserDetail;
import com.beiming.libra.domain.User;
import com.beiming.libra.domain.UserDetail;
import com.beiming.libra.domain.dto.requestdto.ArbUserRequestDTO;
import com.beiming.libra.domain.dto.requestdto.ArbUserSearchRequestDTO;
import com.beiming.libra.domain.dto.requestdto.SecretaryGeneralUserRequestDTO;
import com.beiming.libra.domain.dto.requestdto.UserRegisterInfoRequestDTO;
import com.beiming.libra.domain.dto.responsedto.UserResponseDTO;

public interface UserService {
  /**
   * 根据用户id查询用户
   * 
   * @param userId
   * @return
   */
  UserResponseDTO getUserById(String userId);

  /**
   * 根据电话号码查询用户
   * 
   * @param phone
   * @param type
   * @return
   */
  UserResponseDTO getUserByPhoneAndType(String phone, String type);


  /**
   * 根据用户类型查询所有用户
   * 
   * @param type
   * @return
   */
  List<UserResponseDTO> getAllUserByType(String type);

  /**
   *  批量立案添加用户信息
   * @param userList
   * @param userDetails
   * @return
   */
  void insertListUser(List<User> userList, List<UserDetail> userDetails);
  
  /** 获取仲裁员&办案秘书列表 分页 */
  PageResult<ArbUserDetail> listArbUser(ArbUserSearchRequestDTO dto);
  /**
   * 新增仲裁员&办案秘书
   * @param dto
   */
  void insertArbUser(ArbUserRequestDTO dto);
  /**
   * 新增秘书长
   * @param dto
   */
  void insertGeneralUser(SecretaryGeneralUserRequestDTO dto);
  /**
   * 新增专项用户
   * @param dto
   */
  void insertUser(UserRegisterInfoRequestDTO dto);
  
  
  

}
